草庐IT

java - 哈希表Java插入

全部标签

ruby - Ruby 中的双向哈希表

我需要一个Ruby中的双向哈希表。例如:h={:abc=>123,:xyz=>789,:qaz=>789,:wsx=>[888,999]}h.fetch(:xyz)#=>789h.rfetch(123)#=>abch.rfetch(789)#=>[:xyz,:qaz]h.rfetch(888)#=>:wsxrfetch方法意味着反向获取,这只是我的建议。注意三件事:如果多个键映射到相同的值,则rfetch返回所有键,打包在数组中。如果值是一个数组,则rfetch在数组的元素中查找它的参数。双向哈希意味着fetch和rfetch都应该在恒定时间内执行。Ruby中是否存在这样的结构(包括外

Ruby:排序哈希数组,即使键可能不存在

在Rails应用程序中,我有一个哈希数组,我可以轻松地对其进行排序array_of_hashes.sort_by{|hash|hash[:key_to_sort]}但是如果不是每个数组成员都有一个键:key_to_sort怎么办?然后排序将失败“String与nil的比较失败”。有没有办法让排序继续?或者还有其他方法吗? 最佳答案 这取决于您在散列没有排序键时要执行的操作。我可以想象两种情况:1)从排序中排除散列arr.delete_if{|h|h[:key_to_sort].nil?}.sort_by{|h|h[:key_to_s

ruby-on-rails - 我如何序列化 - 反序列化哈希以将其保存在数据库中?

我有一个散列:h={"revision"=>7,"rev"=>"708a4bd5b","thumb_exists"=>false,"bytes"=>246000,"modified"=>"Sun,01Jul201217:09:15+0000","client_mtime"=>"Sun,01Jul201217:09:15+0000","path"=>"/GettingStarted.pdf","is_dir"=>false,"icon"=>"page_white_acrobat","root"=>"dropbox","mime_type"=>"application/pdf","size

ruby - Ruby 中的数组哈希

我有一个散列,其中键是一个字符串,值是一个字符串数组。我想要这样的东西:{"k1"=>["v1","v2"],"k2"=>["v3","v4"]}我只有一个散列和一个数组来实现这一点。我编写了这样的代码:hash1=Hash.newarr=Array.newarr.push"v1"arr.push"v2"hash1["k1"]=arr#hashislikethis:{"k1"=>["v1","v2"]#NowIclearthearraytoreadthenewvaluesarr.cleararr.push"v3"arr.push"v4"hash1["k2"]=arrputshash1#

ruby-on-rails - Rails - 常量哈希?

我的应用程序需要一个模型(?),它基本上包含另一个实体的状态。在实体中我想存储状态的id,但在我的应用程序中,View是用一个漂亮的词描述来说话的。例如,1=新的,2=二手的等。我怎样才能以最好的方式实现它,这意味着我可以轻松设置和检索此状态列而无需重复自己?最终我想要这样的东西Foo.status='New'(actuallysetsvalueto1)和Foo.status(returns'New',butstores1)我的思考方式是否正确? 最佳答案 您可以编写自定义编写器方法:STATUS_VALUES={1=>'new',

Ruby:如何遍历哈希数组并在单个字符串中返回值?

抱歉,如果这很明显,我只是不明白。如果我有一个哈希数组,例如:people=[{:name=>"Bob",:occupation=>"Builder"},{:name=>"Jim",:occupation=>"Coder"}]我想遍历数组并输出字符串,例如:“Bob:Builder”。我该怎么做?我知道如何迭代,但我还是有点迷茫。现在,我有:people.eachdo|person|person.eachdo|k,v|puts"#{v}"endend我的问题是我不明白如何返回两个值,只分别返回每个值。我错过了什么?感谢您的帮助。 最佳答案

ruby-on-rails - 在 Ruby/Rails 中生成唯一的哈希值

我正在寻找有关在Ruby/Rails中生成唯一哈希字符串的最佳实践的建议。通常我使用MD5、SHA等来执行此操作,但是为散列选择源值并不是很简单(并不总是首选使用时间戳)。所以我的问题是:哪些值更适合用于生成唯一哈希值?(数据库列值、时间戳等)是否有适合此类工作的gem?如有任何建议,我们将不胜感激。 最佳答案 使用UUID:在ruby1.9中require'securerandom'SecureRandom.uuid在ruby1.8中$geminstalluuidtoolsUUIDTools::UUID.random_create

ruby - 在 haml 中插入文本 block

在我的Jekyll博客中,我使用include标签将文件的内容放入文档中。但是,如果我尝试对基于HAML的文档执行此操作,则包含文本的缩进是错误的。:preserve不起作用,因为它需要缩进。有没有一种方法可以在不依赖于缩进的情况下指定一段文本?%html%body-preservedoincludedtextfromfile-end 最佳答案 似乎在当前版本的Haml:text过滤器中已被删除。现在你可以使用:plain过滤器了。不对该block内的文本执行任何处理。您可以在此处粘贴多行文本block或HTML代码。HTML将显示

ruby - 在 ruby​​ 中获取给定键的哈希键值对

我有一个散列h1和keyk1。我需要返回哈希中给定键的完整键值对。喜欢关键的“鱼”我需要打印'fish'=>'aquaticanimal'@h1,打印所有键值对。我需要为给定键打印键值对的方法我是ruby​​的新手,很抱歉这个菜鸟问题。 最佳答案 有一个方法,Hash#assoc可以做类似的事情。但它返回数组中的键和值,您可以轻松地将其更改为哈希。另一种方法是使用Hash#select,它会根据给定的block返回哈希。h1={"fish"=>"aquaticanimal","tiger"=>"bigcat"}h1.assoc"fi

ruby - 将元素插入 ruby​​ Hash 中的数组

在Ruby中,为了创建数组的散列并将元素推送到这些数组,我见过两种习惯用法。我想知道人们更喜欢哪一个,为什么。(披露:我有自己的看法,但我想确保我没有遗漏一些明显的东西。)方法1:使用Hash的花式初始化器:ht=Hash.new{|h,k|h[k]=[]}ht["cats"]当您使用尚不存在的键访问ht时,此方法会创建一个空数组。方法2:简单的初始化器,花哨的访问器:ht={}(ht["cats"]||=[])人们对哪一个更好(或者哪一个优于另一个)有意见吗? 最佳答案 有时散列最初是用数据填充的,后来它只用于检索数据。在那些情况